iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0

Android專案中有許多.xml副檔名的檔案,他也是編寫UI的主要方式之一。
今天就來認識一下XML。

XML是什麼

XML是類似編寫網頁HTML的一系列嵌套式元素。兩者長得很像,但有關鍵的差異,HTML是編寫網頁使用的標準標記語言,無法自定義標籤,著重的是資料如何呈現,但XML可以自定義所需要的標籤(tag),並著重在儲存及傳遞資料,如:Web API。
W3school詳細介紹(https://www.w3schools.com/xml/xml_whatis.asp)

由於XML可以自定義標籤的關係,Android中的XML,定義了非常多不同的標籤及屬性可以給開發者對UI做設計。

XML的長相和語法

  • 一個XML檔,必須要有一根元素,以layout檔為例,下圖的LinearLayout就是這文件的根元素。
  • 元素 : 以大於符號"<"及小於符號">"包夾的東東,以layout檔為例:
    • 有起始標籤<...>跟結束標籤</...>的元素,通常是一ViewGroup,起始標籤中會設定許多屬性,會影響、規範到內部嵌入的View元件或其他ViewGroup,有圖有真相,下圖以LinearLayout為例,起始標籤的orientation屬性就會影響內部TextView的垂直或水平排列:
    • 只有起始標籤<.../>的叫做self-closing element,例如TextView、Button、ImageView...等等元件都是這種標籤。下圖以Button為例:

專案結構的那些XML

XML格式的文件都會以.xml為副檔名儲存,認真觀察專案結構,會發現其實很多資訊都是使用XML的格式儲存。

  • res各種資源檔
    • drawable 、mipmap : 圖檔資源
    • layout : 各Activity、Fragment綁定的佈局。
    • value : color、string、themes等設定顏色、字串、主題樣式的檔案,將這些資源集中管理設定的話,可以方便地重複引用,並對於app呈現的一致性有質感上的提升。
  • manifest資料夾,每個專案項目都必須包含應用程式清單在根目錄,並且必須叫 AndroidManifest.xml,這個清單文件會向 Android建構工具、Android操作系統、GooglePlay提供這個應用程式的重要訊息。重要訊息包含 :
    • 四大應用元件 : activity、service、broadcast receiver、content provider
    • 權限 : Android 應用程序必須請求訪問敏感用戶數據(如聯繫人和短信)或某些系統功能(如相機和互聯網訪問)的權限。每個權限都由一個唯一的標籤標識,且用戶也可以在運行中拒絕該項授權。
    • 設備兼容性 : 聲明應用程式需要哪些類型的硬體或軟體功能,Google Play 商店將避免不符合要求的裝置安裝,例如要求相機、紅外線、藍芽、羅盤傳感器...等。
      manifest file官方文檔 

今天就介紹到這,估的掰


上一篇
第1天 開新專案
下一篇
第3天 UI基礎元件(一) : TextView、Button
系列文
新手向Android&Kotlin學習紀錄30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Kenny
iT邦新手 3 級 ‧ 2022-09-19 17:05:08

四大組件 : activity、service、broadcast receiver、content provider~~

Yimin iT邦新手 5 級 ‧ 2022-09-19 23:21:32 檢舉

已更正,謝謝Kenny大~(為了回應去做新手任務XD)

我要留言

立即登入留言